%=============================================
% TEST CASE: Loading empty project file when system is empty
%=============================================

\subsubsection{Loading empty project file when system is empty} \label{st_tc:1}

\noindent
{\bf Purpose}\\
To verify that the system is able to load an empty project file correctly when the system itself is empty.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F1: Loading Project Data & Input data is loaded correctly\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is empty\\
Input test data: File listed in section A.1: Empty project file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Open Project File' icon & N/A\\
\hline
Select file & File listed in section A.1: Empty project file\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
All views & No data\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Loading empty project file when system is not empty
%=============================================

\subsubsection{Loading empty project file when system is not empty} \label{st_tc:2}

\noindent
{\bf Purpose}\\
To verify that the system is able to load an empty project file correctly when the system itself is not empty.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F1: Loading Project Data & Input data is loaded correctly; \\ & Previous system state doesn't affect new data loading\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: File listed in section A.1: Empty project file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Open Project File' icon & N/A\\
\hline
Select file & File listed in section A.2: Non-empty project file 1\\
\hline
Click 'Open Project File' icon & N/A\\
\hline
Select file & File listed in section A.1: Empty project file\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
All views & No data\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Loading non-empty project file when system is empty
%=============================================

\subsubsection{Loading non-empty project file when system is empty} \label{st_tc:3}

\noindent
{\bf Purpose}\\
To verify that the system is able to load a non empty project file correctly when the system itself is empty.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F1: Loading Project Data & Input data is loaded correctly\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is empty\\
Input test data: File listed in section A.2: Non-empty project file 1.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Open Project File' icon & N/A\\
\hline
Select file & File listed in section A.2: Non-empty project file 1\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Task Tree & 6 tasks: \\ & Task 1 (no subtasks); \\ & Task 2 with 2 subtasks: Task 21 and Task 22; \\ & Task 22 with subtask 221; \\ & Task 3 (no subtasks);\\
\hline
Task Table & Displaying 6 tasks\\
\hline
Task Table: row Task 1 & Title: Task 1 \\ & Description: Description 1 \\ & Duration: 10 \\ & Deadline: 2012/03/20 \\ & Deliverable: Deliverable 1 \\ & Before ID: 1 \\ & Person: Person 1\\
\hline
Task Table: row Task 2 & Title: Task 2 \\ & Description: Description 2 \\ & Duration: 5 \\ & Deadline: 2012/03/27 \\ & Deliverable: Deliverable 2 \\ & Before ID: -1 \\ & Person: Person 2\\
\hline
Task Table: row Task 21 & Title: Task 21 \\ & Description: Description 21 \\ & Duration: 2 \\ & Deadline: 2012/03/27 \\ & Deliverable: Deliverable 21 \\ & Before ID: -1 \\ & Person: Person 2\\
\hline
Task Table: row Task 22 & Title: Task 22 \\ & Description: Description 22 \\ & Duration: 2 \\ & Deadline: 2012/03/27 \\ & Deliverable: Deliverable 22 \\ & Before ID: -1 \\ & Person: Person 2\\
\hline
Task Table: row Task 221 & Title: Task 221 \\ & Description: Description 221 \\ & Duration: 2 \\ & Deadline: 2012/03/27 \\ & Deliverable: Deliverable 221 \\ & Before ID: -1 \\ & Person: Person 2\\
\hline
\end{tabular}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Task Table: row Task 3 & Title: Task 3 \\ & Description: Description 3 \\ & Duration: 10 \\ & Deadline: 2012/03/29 \\ & Deliverable: Deliverable 3 \\ & Before ID: -1 \\ & Person: Person 3\\
\hline
People Table & Displaying 3 persons\\
\hline
People Table: row Person 1 & Name: Person 1 \\ & Hours: 80 \\ & Tasks: 0\\
\hline
People Table: row Person 2 & Name: Person 2 \\ & Hours: 40 \\ & Tasks: 1, 10, 11, 111\\
\hline
People Table: row Person 3 & Name: Person 3 \\ & Hours: 80 \\ & Tasks: 2\\
\hline
Gantt Chart & Displaying 3 tasks; \\ & Deadlines and durations match those listed in Task Table; \\ & Task 2 depends on Task 1\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Loading non-empty project file when system is not empty
%=============================================

\subsubsection{Loading non-empty project file when system is not empty} \label{st_tc:4}

\noindent
{\bf Purpose}\\
To verify that the system is able to load a non empty project file correctly when the system itself is not empty.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F1: Loading Project Data & Input data is loaded correctly; \\ & Previous system state doesn't affect new data loading\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.3: Non-empty project file 2.\\
Input test data: File listed in section A.2: Non-empty project file 1.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Open Project File' icon & N/A\\
\hline
Select file & File listed in section A.3: Non-empty project file 2\\
\hline
Click 'Open Project File' icon & N/A\\
\hline
Select file & File listed in section A.2: Non-empty project file 1\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Same as in Test Case 3\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
All views & Same as in previous test case\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Loading invalid project file
%=============================================

\subsubsection{Loading invalid project file} \label{st_tc:5}

\noindent
{\bf Purpose}\\
To verify system's robustness in handling invalid input\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F1: Loading Project Data & Invalid input doesn't cause to system failure\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.3: Non-empty project file 2.\\
Input test data: File listed in section A.4: Invalid project file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.3: Non-empty project file 2\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.4: Invalid project file\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
All views & Same as before use case\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Saving empty project
%=============================================

\subsubsection{Saving empty project} \label{st_tc:6}

\noindent
{\bf Purpose}\\
To verify that the system is able to save an empty project successfully\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F8: Saving Project Data & Project data is saved correctly\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is empty\\
Input test data: No input test data.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Save Project File' icon & N/A\\
\hline
Select file & The selected output file\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Output file & File listed in section A.1: Empty project file\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 8: Saving Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Saving non-empty project
%=============================================

\subsubsection{Saving non-empty project} \label{st_tc:7}

\noindent
{\bf Purpose}\\
To verify that the system is able to save a non-empty project successfully\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F8: Saving Project Data & Project data is saved correctly\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test data.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2: Non-empty project file 1\\
\hline
Click 'Save Project File' icon & N/A\\
\hline
Select file & The selected output file\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Output file & File listed in section A.2: Non-empty project file 1.\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 8: Saving Project Data & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Exporting tasks when no tasks are present
%=============================================

\subsubsection{Exporting tasks when no tasks are present} \label{st_tc:8}

\noindent
{\bf Purpose}\\
To verify that the system is able to export tasks correctly to a csv file when no tasks are present in the system\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F6: Exporting Tasks & Correctness of the csv output file\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.1: Empty project file\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.1: Empty project file\\
\hline
Click 'Export tasks to a csv file' icon & N/A\\
\hline
Select file & The selected output file\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Output file & File listed in section B.1: Empty tasks export file\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 6: Exporting Tasks & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Exporting tasks when tasks are present in the system
%=============================================

\subsubsection{Exporting tasks when tasks are present in the system} \label{st_tc:9}

\noindent
{\bf Purpose}\\
To verify that the system is able to export tasks correctly to a csv file when there are tasks present in the system\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F6: Exporting Tasks & Correctness of the csv output file\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2: Non-empty project file 1\\
\hline
Click 'Export tasks to a csv file' icon & N/A\\
\hline
Select file & The selected output file\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Output file & File listed in section B.2: Non-empty tasks export file 1\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 6: Exporting Tasks & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Exporting people information when no tasks are present
%=============================================

\subsubsection{Exporting people information when no tasks are present} \label{st_tc:10}

\noindent
{\bf Purpose}\\
To verify that the system is able to export people correctly to a csv file when no tasks are present in the system\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F7: Exporting People & Correctness of the csv output file\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.1: Empty project file\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.1: Empty project file\\
\hline
Click 'Export people info to a csv file' icon & N/A\\
\hline
Select file & The selected output file\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Output file & File listed in section B.3: Empty people export file\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 7: Exporting People & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Exporting people information when tasks are present in the system
%=============================================

\subsubsection{Exporting people information when tasks are present in the system} \label{st_tc:11}

\noindent
{\bf Purpose}\\
To verify that the system is able to export people correctly to a csv file when there are tasks present in the system\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F7: Exporting People & Correctness of the csv output file\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Click 'Export people info to a csv file' icon & N/A\\
\hline
Select file & The selected output file\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Output file & File listed in section B.3: Non-empty people export file 1\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 7: Exporting People & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Adding a task when the system is empty
%=============================================

\subsubsection{Adding a task when the system is empty} \label{st_tc:12}

\noindent
{\bf Purpose}\\
To verify that when the system is empty, a new task can be added to the system.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F3: Adding Task & Ability to create a first task in the system\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is empty.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Add a new task' icon & N/A\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Task Tree & 1 task named 'none'\\
\hline
Task Table & Displaying 1 task\\
\hline
Task Table: 1st row & Title: none \\ & Description: none \\ & Duration: 1 \\ & Deadline: system date in format YYYY/MM/DD \\ & Deliverable: none \\ & Before ID: -1 \\ & Person: nobody\\
\hline
People Table & Displaying 1 person\\
\hline
People Table: 1st row & Name: nobody \\ & Hours: 8 \\ & Tasks: 0\\
\hline
Gantt Chart & Displaying 1 task; \\ & Deadlines and durations match those listed in Task Table\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 3: Add Task & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Adding a task when the system is not empty
%=============================================

\subsubsection{Adding a task when the system is not empty} \label{st_tc:13}

\noindent
{\bf Purpose}\\
To verify that when the system is not empty, a new task can be added to the system.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F3: Adding Task & Ability to add another task to the system\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Click 'Add a new task' icon & N/A\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Task Tree & A new task 'none' has \\ & been added under the root node\\
\hline
Task Table & A new task has been \\ & added at the bottom of the table\\
\hline
Task Table: new row & ID: 3 \\ & Title: none \\ & Description: none \\ & Duration: 1 \\ & Deadline: system date in format YYYY/MM/DD \\ & Deliverable: none \\ & Before ID: -1 \\ & Person: nobody\\
\hline
People Table & A new person 'nobody' has been added\\
\hline
People Table: new row & Name: nobody \\ & Hours: 8 \\ & Tasks: 3\\
\hline
People Table & A new task 'none' has been added\\
\hline
Gantt Chart & new task \\ & Deadlines and durations match those listed in Task Table\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 3: Add Task & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Adding a subtask when the system is empty
%=============================================

\subsubsection{Adding a subtask when the system is empty} \label{st_tc:14}

\noindent
{\bf Purpose}\\
To verify that when the system is not empty, a new subtask cannot be added to the system.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F3: Adding Task & Subtask can be added only under existing subtask or task.\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is empty.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Add a subtask to the currently selected task' icon & N/A\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
All views & No change\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 3: Add Task & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Adding a subtask under a selected task
%=============================================

\subsubsection{Adding a subtask under a selected task} \label{st_tc:15}

\noindent
{\bf Purpose}\\
To verify that when the system is not empty, a new subtask can be added under the selected task.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F3: Adding Task & Subtask can be added under a task. \\ & Subtasks are assigned to the same person who owns the task\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Select task 'Task 1' in the Tree View & N/A\\
\hline
Click 'Add a subtask to the currently selected task' icon & N/A\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Task Tree & A new subtask 'none' has \\ & been added under the Task 1\\
\hline
Task Table & A new subtask has been \\ & added under Task 1 row\\
\hline
Task Table: new row & ID: 3 \\ & Title: none \\ & Description: none \\ & Duration: 1 \\ & Deadline: system date in format YYYY/MM/DD \\ & Deliverable: none \\ & Before ID: -1 \\ & Person: Person 1\\
\hline
People Table: row Person 1 & Task 3 has been added \\ & to the list of assigned tasks\\
\hline
Gantt Chart & Has remained unchanged\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 3: Add Task & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Adding a subtask under a selected subtask
%=============================================

\subsubsection{Adding a subtask under a selected subtask} \label{st_tc:16}

\noindent
{\bf Purpose}\\
To verify that when the system is not empty, a new subtask can be added under the selected subtask.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F3: Adding Task & Subtask can be added under a subtask.\\ & Subtasks are assigned to the same person who owns the task\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Select subtask 'Task 221' in the Tree View & N/A\\
\hline
Click 'Add a subtask to the currently selected task' icon & N/A\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Task Tree & A new subtask 'none' has \\ & been added under the subtask 'Task 221'\\
\hline
Task Table & A new subtask has been \\ & added under Task 221 row\\
\hline
Task Table: new row & ID: 3 \\ & Title: none \\ & Description: none \\ & Duration: 1 \\ & Deadline: system date in format YYYY/MM/DD \\ & Deliverable: none \\ & Before ID: -1 \\ & Person: Person 2\\
\hline
People Table: row Person 2 & Task 3 has been added \\ & to the list of assigned tasks\\
\hline
Gantt Chart & Has remained unchanged\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 3: Add Task & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Adding a subtask when no task or subtask is selected
%=============================================

\subsubsection{Adding a subtask when no task or subtask is selected} \label{st_tc:17}

\noindent
{\bf Purpose}\\
To verify that when no task or subtask is selected, a new subtask cannot be added.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F3: Adding Task & Subtask can be added under a selected task or subtask\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2: \\ & Non-empty project file 1\\
\hline
Click 'Add a subtask to the currently selected task' icon & N/A\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
All views & Have remained unchanged\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 3: Add Task & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Deleting a selected task which has subtasks
%=============================================

\subsubsection{Deleting a selected task which has subtasks} \label{st_tc:18}

\noindent
{\bf Purpose}\\
To verify that a selected task which has subtasks can be deleted.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F4: Deleting Task & A selected task can be deleted\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Select task 'Task 2' in the Tree View & N/A\\
\hline
Click 'Remove the selected task' icon & N/A\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Tree View & Task 2 and all its subtasks have been removed\\
\hline
Task Table & Task 2 and all its subtasks have been removed\\
\hline
People Table & Person 2 has been removed\\
\hline
Gantt Chart & Task 2 has been removed \\ & Task 1 has no more 'before' relations\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 4: Delete Task & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Deleting a selected task which has no subtasks
%=============================================

\subsubsection{Deleting a selected task which has no subtasks} \label{st_tc:19}

\noindent
{\bf Purpose}\\
To verify that a selected task which has no subtasks can be deleted.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F4: Deleting Task & A selected task can be deleted\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Select task 'Task 3' in the Tree View & N/A\\
\hline
Click 'Remove the selected task' icon & N/A\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Tree View & Task 3 has been removed\\
\hline
Task Table & Task 3 has been removed\\
\hline
People Table & Person 3 has been removed\\
\hline
Gantt Chart & Task 3 has been removed\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 4: Delete Task & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Deleting a selected subtask which has subtasks
%=============================================

\subsubsection{Deleting a selected subtask which has subtasks} \label{st_tc:20}

\noindent
{\bf Purpose}\\
To verify that a selected subtask which has subtasks can be deleted.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F4: Deleting Task & A selected subtask can be deleted\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Select task 'Task 22' in the Tree View & N/A\\
\hline
Click 'Remove the selected task' icon & N/A\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Tree View & Task 22 and its subtask 221 have been removed\\
\hline
Task Table & Task 22 and its subtask 221 have been removed\\
\hline
People Table & Person 2 is no longer assigned to tasks 11 and 111 \\
\hline
Gantt Chart & Has remained unchanged\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 4: Delete Task & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Deleting a selected subtask which has no subtasks
%=============================================

\subsubsection{Deleting a selected subtask which has no subtasks} \label{st_tc:21}

\noindent
{\bf Purpose}\\
To verify that a selected subtask which has no subtasks can be deleted.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F4: Deleting Task & A selected subtask can be deleted\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Select task 'Task 21' in the Tree View & N/A\\
\hline
Click 'Remove the selected task' icon & N/A\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Tree View & Task 21 has been removed\\
\hline
Task Table & Task 21 has been removed\\
\hline
People Table & Person 2 is no longer assigned to task 10\\
\hline
Gantt Chart & Has remained unchanged\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 4: Delete Task & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Deleting when no task is selected
%=============================================

\subsubsection{Deleting when no task is selected} \label{st_tc:22}

\noindent
{\bf Purpose}\\
To verify that pressing the 'Remove the selected task' icon when no task is selected will not delete any tasks.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F4: Deleting Task & If no task is selected, deletion \\ & will not make any changes in the system.\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Click 'Remove the selected task' icon & N/A\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
All views & Have remained unchanged\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 4: Delete Task & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Modifying ID of a task
%=============================================

\subsubsection{Modifying ID of a task} \label{st_tc:23}

\noindent
{\bf Purpose}\\
To verify that ID of a task cannot be modified via the Task Table.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F6: Modifying Task & Task ID cannot be modyfied\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Task Table: task 'Task 1': try clicking ID & N/A\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Task Table: ID field & Doesn't allow editing\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 5: Modify Task & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Modifying ID of a subtask
%=============================================

\subsubsection{Modifying ID of a subtask} \label{st_tc:24}

\noindent
{\bf Purpose}\\
To verify that ID of a subtask cannot be modified via the Task Table.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F6: Modifying Task & Task ID cannot be modyfied\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Task Table: subtask 'Task 21': try clicking ID & N/A\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Task Table: ID field & Doesn't allow editing\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 5: Modify Task & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Modifying Title of a task
%=============================================

\subsubsection{Modifying Title of a task} \label{st_tc:25}

\noindent
{\bf Purpose}\\
To verify that a title of a task can be modified via the Task Table.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F6: Modifying Task & Title of a task can be modyfied via the Task Table \\ & Tree View and Gantt Chart display modified \\ & title of the task\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Task Table: task 'Task 1': click title field & N/A\\
\hline
Insert new title & 'Task 1 new'\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Task Table: Task 1: title & Task 1 new\\
\hline
Tree View: Task 1 & Task 1 new\\
\hline
Gannt Chart: Task 1 & Task 1 new\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 5: Modify Task & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Modifying Title of a subtask
%=============================================

\subsubsection{Modifying Title of a subtask} \label{st_tc:26}

\noindent
{\bf Purpose}\\
To verify that a title of a subtask can be modified via the Task Table.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F6: Modifying Task & Title of a subtask can be modyfied via the Task Table \\ & Tree View displays modified title of the subtask\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Task Table: subtask 'Task 221': click title field & N/A\\
\hline
Insert new title & 'Task 221 new'\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Task Table: Task 221: title & Task 221 new\\
\hline
Tree View: Task 221 & Task 221 new\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 5: Modify Task & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Modifying Description of a task
%=============================================

\subsubsection{Modifying Description of a task} \label{st_tc:27}

\noindent
{\bf Purpose}\\
To verify that a description of a task can be modified via the Task Table.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F6: Modifying Task & Description of a task can be modyfied via the Task Table\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Task Table: task 'Task 1': click description field & N/A\\
\hline
Insert new description & 'Description 1 new'\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Task Table: Task 1: description & Description 1 new\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 5: Modify Task & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Modifying Description of a subtask
%=============================================

\subsubsection{Modifying Description of a subtask} \label{st_tc:28}

\noindent
{\bf Purpose}\\
To verify that a description of a subtask can be modified via the Task Table.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F6: Modifying Task & Description of a subtask can be modyfied via the Task Table\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Task Table: task Task 221: click description field & N/A\\
\hline
Insert new description & 'Description 221 new'\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Task Table: Task 221: description & Description 221 new\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 5: Modify Task & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Modifying Duration of a task to higher than before
%=============================================

\subsubsection{Modifying Duration of a task to higher than before} \label{st_tc:29}

\noindent
{\bf Purpose}\\
To verify that when duration of a task is increased via the Task Table, the People Table and Gannt Chart are updated accordingly.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F6: Modifying Task & Duration of a task can be increased via the Task Table \\ & Hours in People Table will become new duration * 8 \\ & Task's display in Gannt Chart will adjust per new duration\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Task Table: task 2: click duration field & N/A\\
\hline
Insert new duration & 6\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Task Table: Task 2: duration & 6\\
\hline
People Table: Person 2: Hours & 48\\
\hline
Gantt View: Task 2 & Duration incresed on the graph\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 5: Modify Task & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Modifying duration of a subtask to a lower one than parent subtask
%=============================================

\subsubsection{Modifying duration of a subtask to a lower one than parent subtask} \label{st_tc:30}

\noindent
{\bf Purpose}\\
To verify that when a duration of a subtask whose parent is a subtask changes to value smaller than the duration of the parent subtask, only the subtask duration changes.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F6: Modifying Task & Duration of a subtask is bigger or equal to the duration of the \\ & longest child subtask\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Task Table: task 221: click duration field & N/A\\
\hline
Insert new duration & 1\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Task Table: Task 221: duration & 1\\
\hline
Other Views & Unchanged\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 5: Modify Task & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

%=============================================
% TEST CASE: Modifying duration of a subtask to higher one than parent subtask and task
%=============================================

\subsubsection{Modifying duration of a subtask to higher one than parent subtask and task} \label{st_tc:31}

\noindent
{\bf Purpose}\\
To verify that when a duration of a subtask whose parent is a subtask changes to value bigger than the duration of its parent subtask and task, the durations of the parent subtask and of the parent task change accordingly.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Requirement Tested} & \textbf{Aspect of the Requirement}\\
\hline
F6: Modifying Task & Duration of a subtask is bigger or equal to the duration of the \\ & longest child subtask\\
\hline
\end{tabular}\\

\noindent
{\bf Input Specification}\\
Test Context: System is loaded with input file listed in section A.2: Non-empty project file 1.\\
Input test data: No input test file.\\

\begin{tabular}{| l | l | }
\hline
\textbf{Operation Invoked} & \textbf{Data for operation}\\
\hline
Click 'Load Project File' icon & N/A\\
\hline
Select file & File listed in section A.2:\\ &  Non-empty project file 1\\
\hline
Task Table: task 221: click duration field & N/A\\
\hline
Insert new duration & 10\\
\hline
\end{tabular}\\

\noindent
{\bf Expected Output}\\
Expected system response: positive\\

\begin{tabular}{| l | l | }
\hline
\textbf{Output} & \textbf{Expected Value}\\
\hline
Task Table: Task 221: duration & 10 (modified directly)\\
\hline
Task Table: Task 22: duration & 10 (parent subtask)\\
\hline
Task Table: Task 2: duration & 12 (parent task: \\ & duration became sum of durations \\ & of immediate subtasks)\\
\hline
People Table: Person 2: Hours & 96 (=12*8)\\
\hline
Gantt View: Task 2 & Duration incresed on the graph\\
\hline
\end{tabular}\\

\noindent
{\bf Traces to Use Cases}\\

\begin{tabular}{| l | l | }
\hline
\textbf{Use Case} & \textbf{Scenario}\\
\hline
UC 5: Modify Task & Main scenario\\
\hline
UC 1: Load Project Data & Main scenario\\
\hline
\end{tabular}\\

